import store from '@/store'

/**
 * 权限判断函数
 * 适用于在某些情况下，使用权限判断指令将无效时。只能使用v-if进行此操作。
 * 例如：Element-UI的Tab组件或el-table-column以及其他可动态渲染dom的场景。
 * @param {Array} value
 * @returns {Boolean} true | false
 * @example see @/views/permission/directive.vue
 */
export default function checkPermission(value) {
  if (value && value instanceof Array && value.length > 0) {
    const roles = store.getters && store.getters.roles
    const permissionRoles = value

    const hasPermission = roles.some(role => {
      return permissionRoles.includes(role)
    })
    return hasPermission
  } else {
    return false
  }
}
